---
apiVersion: v1
kind: Namespace
metadata:
  name: gateway-conformance-mesh
  labels:
    gateway-conformance: mesh
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: echo-v1
  namespace: gateway-conformance-mesh
  labels:
    app: echo
spec:
  selector:
    matchLabels:
      app: echo
      version: v1
  template:
    metadata:
      labels:
        app: echo
        version: v1
    spec:
      containers:
      - name: echo
        image: gcr.io/k8s-staging-gateway-api/echo-advanced:v20231214-v1.0.0-140-gf544a46e
        imagePullPolicy: IfNotPresent
        args:
        - --tcp=9090
        - --port=8080
        - --grpc=7070
        - --port=8443
        - --tls=8443
        - --crt=/cert.crt
        - --key=/cert.key
---
apiVersion: v1
kind: Service
metadata:
  name: echo-v1
  namespace: gateway-conformance-mesh
spec:
  selector:
    app: echo
    version: v1
  ports:
  - name: http
    port: 80
    appProtocol: http
    targetPort: 8080
  - name: http-alt
    port: 8080
    appProtocol: http
  - name: https
    port: 443
    targetPort: 8443
  - name: tcp
    port: 9090
  - name: grpc
    port: 7070
    appProtocol: grpc
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: echo-v2
  namespace: gateway-conformance-mesh
  labels:
    app: echo
spec:
  selector:
    matchLabels:
      app: echo
      version: v2
  template:
    metadata:
      labels:
        app: echo
        version: v2
    spec:
      containers:
      - name: echo
        image: gcr.io/k8s-staging-gateway-api/echo-advanced:v20231214-v1.0.0-140-gf544a46e
        imagePullPolicy: IfNotPresent
        args:
        - --tcp=9090
        - --port=8080
        - --grpc=7070
        - --port=8443
        - --tls=8443
        - --crt=/cert.crt
        - --key=/cert.key
---
apiVersion: v1
kind: Service
metadata:
  name: echo-v2
  namespace: gateway-conformance-mesh
spec:
  selector:
    app: echo
    version: v2
  ports:
  - name: http
    port: 80
    appProtocol: http
    targetPort: 8080
  - name: http-alt
    port: 8080
    appProtocol: http
  - name: https
    port: 443
    targetPort: 8443
  - name: tcp
    port: 9090
  - name: grpc
    port: 7070
    appProtocol: grpc
---
apiVersion: v1
kind: Service
metadata:
  name: echo
  namespace: gateway-conformance-mesh
spec:
  selector:
    app: echo
  ports:
  - name: http
    port: 80
    appProtocol: http
    targetPort: 8080
  - name: http-alt
    port: 8080
    appProtocol: http
  - name: https
    port: 443
    targetPort: 8443
  - name: tcp
    port: 9090
  - name: grpc
    port: 7070
    appProtocol: grpc
---
apiVersion: v1
kind: Namespace
metadata:
  name: gateway-conformance-mesh-consumer
  labels:
    gateway-conformance: mesh-consumer
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: echo-v1
  namespace: gateway-conformance-mesh-consumer
  labels:
    app: echo
spec:
  selector:
    matchLabels:
      app: echo
      version: v1
  template:
    metadata:
      labels:
        app: echo
        version: v1
    spec:
      containers:
      - name: echo
        image: gcr.io/k8s-staging-gateway-api/echo-advanced:v20231214-v1.0.0-140-gf544a46e
        imagePullPolicy: IfNotPresent
